package com.software.task.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Transient;
import lombok.Data;

import java.util.List;

/**
 * @author 浦慧慧
 * @since 2024/12/15 11.34
 * @version 1.0
 */
@Entity
@Data
public class Role {
    /**
     * 主键id
     * 这里使用jpa注解@Id，但是使用mybatis-plus注解@TableId(value="id",type= IdType.AUTO)
     * 名字
     * 备注
     * 是否默认角色
     * 权限列表
     * 这里使用@Transient注解，表示该字段不映射到数据库中，仅用于pojo对象
     * 这里使用@TableField(exist = false)注解，表示该字段不映射到数据库中，仅用于pojo对象
     * 这里使用@TableId注解，表示该字段为主键，并且使用mybatis-plus的自动生成策略
     */
    @Id
    @TableId(value="id",type= IdType.AUTO)
    private Integer id;
    private String name;
    private String comment;
    private Integer isDefault;
    @Transient
    @TableField(exist = false)
    private List<Permission> permissionList;
}
